%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass{article}

\pagestyle{empty}
\setcounter{secnumdepth}{2}

\topmargin=0cm
\oddsidemargin=0cm
\textheight=22.0cm
\textwidth=16cm
\parindent=4cm
\parskip=0.15cm
\topskip=0truecm
\raggedbottom
\abovedisplayskip=3mm
\belowdisplayskip=3mm
\abovedisplayshortskip=0mm
\belowdisplayshortskip=2mm
\normalbaselineskip=12pt
\normalbaselines
\usepackage{graphicx}

\begin{document}


\section{The Purpose of the Document}

  	\subsection{Subtitle}
		\parindent The main purpose of this document is to define requirements for our
		system ``The task manager''. A detailed analysis of these requirements will
		help provide a quantitative estimates for completions. Also, it would provide
		an organized plan of how these requirements will be accomplish.

		\parindent The intended audience for this document is intended for the
		audience described in the table below ``Intended Audience Table''.

  	\subsection{Intended Audience Table}
		\multicolumn{2}{|c|}{}\\
		\hline
		\textbf{Group of Readers} & \textbf{Reasons to read} \\
		Project Team & To stay up to date with the project requirements and know of
		it's current status. \\
		System Developers & To understand what necessary functions and properties the
		system must contain. \\
		Testers & To deliver testing, of the system, with it's requirements \\
		Writers of User Manual & To update and follow-up materials for user manuals \\
		Users and Customers & To give feedback about the requirements \\
		\hline
		
\section{Business Goals}

	The business goals for the TaskManager program is to coordinate a team of
	different users to be able to have tasks assigned to them and be able to track
	what has been done, and needs to be done.
	
	By having an efficient task management system, the people using the program
	will be able to use their time efficiently to minimize wasting resources, and
	accomplish a goal as fast as possible.
	
	Before having this new system, users would have to coordinate each other
	through tasks written down on paper. This wasn't a very good way to track tasks
	since
	\hline
	
\section{ Main domain concepts}

  	\subsection{Concept: Task}
A task has an id value, a title, a description, a duration, a deliverable, a deadline, and a person.
  	\subsection{Concept: Person}
A person is an entity who has a name, a total number of hours assigned to them for tasks, and a list of tasks assigned to them.
  	\subsection{Concept: View}
A view is a visible organization of the data in the program (tasks and/or people)


\section{System Overview}
	\parindent This project consists of a task management system. It is a very
	basic system which reads in a text file and outputs another one.

	\parindent More precisely there will be a text file describing the tasks for
	the job. The system reads in this file, which then outputs a text file
	describing the people associated with the task.
	
	\subsection{}
	
	\includegraphics{design.eps}

\section{User Groups}
	These are the user groups which will be accessing and developping the project.
	At the current increment of the project, they will all share the same
	permissions.
	\multicolumn{3}{|c|}{User groups table}\\
		\hline
		\textbf{Group} & \textbf{Description} & \textbf{Num of users} \\
		System Developers & Java developpers & 3 \\
		Testers & Testing of the system & 3 \\
		Documenters & Document the project & 3 \\
	

	\hline
\section{Non-functional requirements}
	\multicolumn{5}{|c|}{Non-Functional Requirements}
	\hline
 	\textbf{Ver} & \textbf{Requirements} & \textbf{Rationale} & \textbf{Status} &
 	\textbf{Priority} \\
 	1 & Users can access a help feature & The system must assist the user if he is
 	experiencing problems. & Proposed & Medium \\
 	1 & User input validation and recovery, error recovery & The system needs to
 	be reilable when input is given. It must not crash & Proposed & Must \\
 
 
 \section{ Functional requirements}

	\begin{tabular*}{1\textwidth}{@{\extracolsep{\fill}} | c | c | c | c | }
	  \hline
	 Feature & Requirement &Type & Status \\
	  \hline 
	  Load file  & Ability to load/read files  & I/O  & X  \\
	  \hline
	 Output people  & Output person data from taskfile  & I/O  & X  \\
	  \hline
	XML support  & Support loading of XML  & I/O  &   \\
	  \hline
	task dependency  & XML defines task dependency  & I/O  &   \\
	  \hline
	 Task View  & Display GUI table with tasks  & Display  &    \\
	  \hline
	 T-View Edit & Task view is editable  & UI  &    \\
	  \hline
	
	 Person View  & Display table with people/hrs/tasks & Display  &    \\
	  \hline
	 Table saving & User can save the tables to .txt  & UI  &    \\
	  \hline
	Tree View  & Display GUI tree of tasks & Display  &    \\
	  \hline
	Tree Manip  & open/close (sub)trees of tasks & UI  &    \\
	  \hline
	GANTT View  & Display graph of tasks over time & Display  &    \\
	  \hline
	 View sync & Updates to data reflect globally  & Display  &    \\
	  \hline
	\end{tabular*}
 
 
 \section{User Requirements}
 	This section contains the use-cases for the system.
	
	\multicolumn{2}{|c|}{Login}
	\hline
 	Name & Login \\
	Summary & To be able to login using a username and password for the system to
	be able to identify you.\\
	Actors & Developers, testers, documenters \\
	Preconditions & None\\
	Basic sequence & Be prompted for a username and password to be authenticated.\\
	Post conditions & Upon submitting proper credentials, the system should be
	accessible.\\
	Priority & High \\
	Traces to requirements & None \\
	Traces to test cases & None \\
	\hline
	
	\multicolumn{2}{|c|}{View tasks}
	\hline
 	Name & View Tasks \\
	Summary & To be able to view the tasks that exist in the system. \\
	Actors & Developers, testers, documenters \\
	Preconditions & To be logged in\\
	Basic sequence & 1. Run the program, the output given lists the tasks which
	were loaded.\\
	Post conditions None\\
	Priority & High \\
	Traces to requirements & 1st \\
	Traces to test cases & None \\
	\hline
	
	\multicolumn{2}{|c|}{Add tasks}
	\hline
 	Name & Add Task\\
	Summary & To be able to add tasks in the system. \\
	Actors & Developers, testers, documenters \\
	Preconditions & Be logged in\\
	Basic sequence & Fill in information to create a new task.\\
	Post conditions & A task gets created in the system.\\
	Priority & High \\
	Traces to requirements & None \\
	Traces to test cases & None \\
	\hline
	
	\multicolumn{2}{|c|}{Remove tasks}
	\hline
 	Name & Remove Task \\
	Summary & To be able to remove tasks in the system. \\
	Actors & Developers, testers, documenters \\
	Preconditions & Be logged in\\
	Basic sequence & Be asked which task you want to remove, then have the
	ability to delete one.\\
	Post conditions & A certain task gets deleted from the system.\\
	Priority & High \\
	Traces to requirements & None \\
	Traces to test cases & None \\
	\hline
	

\section{ Constraints}
	\begin{tabular*}{1\textwidth}{@{\extracolsep{\fill}} | c | c | c | }
	  \hline
	 Constraint & Rationale & Status \\
	  \hline 
	  Must run on windows  & The program must run on windows  &X  \\
	  \hline
	  XML & The program must support XML  &   \\
	  \hline
	\end{tabular*}	
 
 \section{Solution Ideas}
 	As this is a very basic system, we have not come up with any solution ideas.
 	This will come up when we will be working on the second phase of the
 	project, more precisly ``the design''.


\section{Acronyms and abbreviations}
	This is the list of acronyms and abbreviations we used throughout the document.
	As you can see, we haven't been using many acronyms as of the writing of this
	section for increment one. More will be added over time during different
	increments.
	\multicolumn{2}{|c|}{Acronyms and abbreviations}
	\hline
 	\textbf{Acronym} & \textbf{Abbreviation} \\
 	Num & Refers to a ``Number''  \\
 	\ldots & \ldots \\
	\hline
	
\section{References}
	http://www.soberit.hut.fi/T-76.115/05-06/ohjeet/template/requirements.htm

	http://users.encs.concordia.ca/~gregb/home/se-w2012-project.html
\end{document}